package com.ysstech.finance.entity;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 财务科目信息表
 * </p>
 *
 * @author lishuangliang
 * @since 2021-03-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("fin_subject")
public class Subject extends Model<Subject> {

    private static final long serialVersionUID = 1L;

    @TableId("ID")
    private String id;
    /**
     * 主编码
     */
    @TableField("CODE")
    private String code;
    /**
     * 主条目
     */
    @TableField("NAME")
    private String name;

    /**
     * 上级编码
     */
    @TableField("PARENT_ID")
    private String parentId;
    /**
     * DR借 CR贷
     */
    @TableField("DRANDCR")
    private String drandcr;
    /**
     * 核算类型编码
     */
    @TableField("ADJUST_CODE")
    private String adjustCode;
    /**
     * 是否核算数量 1 是 2非
     */
    @TableField("AMOUNT")
    private Integer amount;
    /**
     * 是否明细 1 是 2 非
     */
    @TableField("DETAILED")
    private Integer detailed;

    /**
     * 资产分类 1资产类 2负债类 3共同类 4 权益类 6损益类
     */
    @TableField("ASSETS_TYPE")
    private Integer assetsType;
    /**
     * 核算方案编码
     */
    @TableField("PROJECT_ID")
    private String projectId;
    /**
     * 状态
     */
    @TableField("STATUS")
    private Integer status;
    /**
     * 添加时间
     */
    @TableField("ADD_TIME")
    private LocalDateTime addTime;

    /**
     * 添加用户
     */
    @TableField("ADD_USER")
    private String addUser;

    /**
     * 修改时间
     */
    @TableField("EDIT_TIME")
    private LocalDateTime editTime;

    /**
     * 修改用户
     */
    @TableField("EDIT_USER")
    private String editUser;
    /**
     * 删除原因
     */
    @TableField("DELETE_REASON")
    private String deleteReason;

    @Override
    protected Serializable pkVal() {
        return null;
    }

    /**
     * 页面查询条件
     */
    @TableField(exist = false)
    private String strAssetsType;
    @TableField(exist = false)
    private String strAmount;
    /**
     * 接受页面选中辅助项
     */
    @TableField(exist = false)
    private String subjectAuxilary;
}
